﻿using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using System;
using MvcCms.Data;

namespace MvcCms.Store.ViewModels
{
    public partial class PaymentDataCCViewModel
    {
        [Required(ErrorMessage = "First Name is required")]
        [DisplayName("First Name On Card")]
        [StringLength(160)]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "Last Name is required")]
        [DisplayName("Last Name On Card")]
        [StringLength(160)]
        public string LastName { get; set; }

        [Required(ErrorMessage = "Credit Card Number is required")]
        [DisplayName("Credit Card Number")]
        [StringLength(17)]
        public string CCNumber { get; set; }

        [Required(ErrorMessage = "Expiration Month is required")]
        [DisplayName("Expiration Month")]
        [StringLength(2, ErrorMessage="Expiration Month Should Be Two Digits")]
        public string ExpMonth { get; set; }

        [Required(ErrorMessage = "Expiration Year is required")]
        [DisplayName("Expiration Year")]
        [StringLength(2, ErrorMessage = "Expiration Year Should Be Two Digits")]
        public string ExpYear { get; set; }

        [Required(ErrorMessage = "Billing Zip Code is required")]
        [DisplayName("Billing Zip Code")]
        [StringLength(10)]
        public string Zip { get; set; }

        [Required(ErrorMessage = "CVV Card Security Code is required")]
        [DisplayName("CVV")]
        [StringLength(5)]
        public string CSC { get; set; }

        [ScaffoldColumn(false)]
        public int PaymentDataID { get; set; }

        [ScaffoldColumn(false)]
        public string Title { get; set; }

        [ScaffoldColumn(false)]
        public int ARProfileID { get; set; }

        [ScaffoldColumn(false)]
        public Guid UserID { get; set; }

        [ScaffoldColumn(false)]
        public string Addr1 { get; set; }

        [ScaffoldColumn(false)]
        public string Addr2 { get; set; }

        [ScaffoldColumn(false)]
        public string City { get; set; }

        [ScaffoldColumn(false)]
        public int StateProvinceID { get; set; }

        [ScaffoldColumn(false)]
        public string StateName { get; set; }

        [ScaffoldColumn(false)]
        public string Tele { get; set; }

        [ScaffoldColumn(false)]
        public string Email { get; set; }

        [ScaffoldColumn(false)]
        public string DynamicFieldVal { get; set; }

        [ScaffoldColumn(false)]
        public string DynamicFieldVal2 { get; set; }

        [ScaffoldColumn(false)]
        public string BusinessName { get; set; }

        [ScaffoldColumn(false)]
        public string Last4 { get; set; }

        [ScaffoldColumn(false)]
        public DateTime CreateDate { get; set; }

        [ScaffoldColumn(false)]
        public DateTime EditDate { get; set; }

        [ScaffoldColumn(false)]
        public Guid CreatedBy { get; set; }

        [ScaffoldColumn(false)]
        public Guid EditedBy { get; set; }

        [ScaffoldColumn(false)]
        public DateTime LastAccessDate { get; set; }

        public virtual StateProvince StateProvince { get; set; }
        public virtual User Customer { get; set; }       

    }
}
